package com.ityshow.uaa.service.dto;


import java.time.ZonedDateTime;
import java.io.Serializable;
import java.util.Objects;

/**
 * A DTO for the OauApproval entity.
 */
public class OauApprovalDTO implements Serializable {

    private Long id;

    private String userId;

    private String clientId;

    private String scope;

    private String status;

    private ZonedDateTime expiresAt;

    private ZonedDateTime lastModifiedAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }
    public String getScope() {
        return scope;
    }

    public void setScope(String scope) {
        this.scope = scope;
    }
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
    public ZonedDateTime getExpiresAt() {
        return expiresAt;
    }

    public void setExpiresAt(ZonedDateTime expiresAt) {
        this.expiresAt = expiresAt;
    }
    public ZonedDateTime getLastModifiedAt() {
        return lastModifiedAt;
    }

    public void setLastModifiedAt(ZonedDateTime lastModifiedAt) {
        this.lastModifiedAt = lastModifiedAt;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        OauApprovalDTO oauApprovalDTO = (OauApprovalDTO) o;

        if ( ! Objects.equals(id, oauApprovalDTO.id)) { return false; }

        return true;
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "OauApprovalDTO{" +
            "id=" + id +
            ", userId='" + userId + "'" +
            ", clientId='" + clientId + "'" +
            ", scope='" + scope + "'" +
            ", status='" + status + "'" +
            ", expiresAt='" + expiresAt + "'" +
            ", lastModifiedAt='" + lastModifiedAt + "'" +
            '}';
    }
}
